Network allocation

ABSTRACT

Included are embodiments for network allocation. More specifically, one embodiment of a method includes receiving, at a first communications device, without a prior RTS signal being sent, a first clear to send (CTS) signal from a second communications device, addressed to the first communications device, the CTS signal indicating a data exchange duration and sending a second CTS signal, from the first communications device, to the second communications device.

CROSS REFERENCE

This application claims the benefit of U.S. Provisional Application No.60/969,847, filed Sep. 4, 2007, which is incorporated by reference inits entirety.

BACKGROUND

As wireless communications have increased, utilization of IEEE 802.11protocols has also increased. In IEEE 802.11 communications a networkallocation vector (NAV) may be utilized to reduce the probability ofinterference. However, according to the IEE 802.11 protocol, a NAV thatis updated by a request to send (RTS) message may be undesirably resetby receivers if a valid physical layer (PHY) header is not receivedwithin a certain timeout.

SUMMARY

Included are embodiments for network allocation. More specifically, oneembodiment of a method includes receiving, at a first communicationsdevice, without a prior RTS signal being sent, a first clear to send(CTS) signal from a second communications device, addressed to the firstcommunications device, the CTS signal indicating a data exchangeduration and sending a second CTS signal, from the first communicationsdevice, to the second communications device.

Additionally, embodiments of a computer readable medium are included.Some embodiments include receiving logic configured to receive, at afirst communications device, without a prior request to send (RTS)signal being sent, a first clear to send (CTS) signal from a secondcommunications device, addressed to the first communications device, theCTS signal indicating a data exchange duration and first sending logicconfigured to send a second CTS signal, from the first communicationsdevice, to the second communications device.

Additionally, embodiments of a system are included. Some embodimentsinclude means for receiving, at a first communications device, without aprior request to send (RTS) signal being sent, a first clear to send(CTS) signal from a second communications device, addressed to the firstcommunications device, the CTS signal indicating a data exchangeduration and means for sending a second CTS signal, from the firstcommunications device, to the second communications device.

Other embodiments and/or advantages of this disclosure will be or maybecome apparent to one with skill in the art upon examination of thefollowing drawings and detailed description. It is intended that allsuch additional systems, methods, features, and advantages be includedwithin this description and be within the scope of the presentdisclosure.

BRIEF DESCRIPTION

Many aspects of the disclosure can be better understood with referenceto the following drawings. The components in the drawings are notnecessarily to scale, emphasis instead being placed upon clearlyillustrating the principles of the present disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views. While several embodiments are described inconnection with these drawings, there is no intent to limit thedisclosure to the embodiment or embodiments disclosed herein. On thecontrary, the intent is to cover all alternatives, modifications, andequivalents.

FIG. 1 depicts a diagram illustrating an exemplary embodiment of anetwork configuration that may be utilized for wireless communications.

FIG. 2 depicts a functional block diagram illustrating a communicationsdevice, similar to the communications device 102 from FIG. 1.

FIG. 3A depicts a flow diagram illustrating an exemplary embodiment of adata exchange between two communications devices, such as in the networkconfiguration of FIG. 1.

FIG. 3B depicts a flow diagram illustrating an exemplary embodiment of acommunication of a clear to send (CTS) signal followed by a request tosend (RTS) signal, similar to the diagram from FIG. 3A.

FIG. 3C depicts a flow diagram illustrating an exemplary embodiment of abroadcast CTS being received at a communications device, similar to thediagram from FIG. 3B.

FIG. 3D depicts a flow diagram illustrating an exemplary embodiment of aplurality of CTS signals being sent, in response to a received CTSsignal, similar to the diagram from FIG. 3C.

FIG. 4 depicts a flowchart illustrating an exemplary embodiment of aprocess for sending a clear to send (CTS) signal followed by a requestto send (RTS) signal, similar to the diagram from FIG. 3B.

FIG. 5 depicts a flowchart illustrating an exemplary embodiment of aprocess for sending a broadcast CTS that is received at a communicationsdevice, similar to the diagram from FIG. 3C.

FIG. 6 depicts a flowchart illustrating an exemplary embodiment of aprocess for sending a plurality of CTS signals, in response to areceived CTS signal, similar to the diagram from FIG. 3D.

DETAILED DESCRIPTION

Embodiments disclosed herein may be configured to transmit a frameaddressed to a recipient, followed by the RTS message addressed to thesame recipient, wherein the endpoint of the duration field of a requestto send (RTS) does not exceed that of a clear to send (CTS). Similarly,some embodiments may be configured to transmit a clear to send (CTS)message addressed to a recipient, which is not a response to an RTS fromthat recipient. In response, the recipient may transmit a CTS back tothe sender of the first CTS.

Similarly, some embodiments may be configured to transmit a CTSaddressed to the node and transmit a following RTS to the same recipient(referred to as a CTS-to-AP if the addressee is an access point). TheCTS-to-AP configuration may be configured to set a non-resetting NAV(because updated from a CTS) at the other devices but not at theaddressed node (e.g., the access point), so that the addressed devicecan still respond to a following RTS The RTS does not update the NAV atstations other than the addressed recipient when the endpoint of theduration field does not exceed that of the preceding CTS. This meansthat surrounding devices can not reset their NAV if those devices do notreceive a valid physical layer (PHY) header within a certain time afterhearing the RTS. So after the CTS-to-AP/RTS/CTS exchange, there may beno need to transmit a frame that can be decoded by the surroundingstations, which is what happens, for instance, when Dual CTS is used (asdescribed in 802.11 n draft 2.0 section 9.2.5.5a).

Referring now to the drawings, FIG. 1 depicts a diagram illustrating anexemplary embodiment of a network configuration that may be utilized forwireless communications. As illustrated in the nonlimiting example fromFIG. 1, network 100 may be coupled to access points 110 a and 110 b. Theaccess points 110 a and 110 b can be configured to provide wirelesscommunications to communications devices 102 a, 102 b, 102 c and/or 102d. More specifically, depending on the particular configuration, accesspoints 110 a and/or 110 b may be configured for providing voice overinternet protocol (VoIP) services, wireless fidelity (WIFI) services,WiMAX services, wireless session initiation protocol (SIP) services,bluetooth services and/or other wireless communication services.Additionally coupled to the network 100 is a server 106. The server 106may be configured as a web server. SIP server, and/or other type ofserver.

The network 100 may include a public switched telephone Network (PSTN),an integrated services digital Network (ISDN), the Internet, a cellularnetwork, and/or other mediums for communicating data betweencommunication devices. More specifically, as a nonlimiting example,while the communications devices 102 a and 102 d may be configured forVVIFI communications, communications devices 102 c, 102 d, and/or 106may be coupled to the network 100 and may be configured for VoIPcommunications, bluetooth communications, WIFI communications, and/orother wireline and/or wireless communications.

FIG. 2 depicts a functional block diagram illustrating a communicationsdevice, similar to the communications device 102 from FIG. 1. Asillustrated in FIG. 2, in terms of hardware architecture, thecommunications device 102 may include a processor 282, a memorycomponent 284, a display interface 294, a data storage component 295,and one or more input and/or output (I/O) device interface(s) 296 thatare communicatively coupled via a local interface 292. The localinterface 292 can include, for example but not limited to, one or morebuses and/or other wired or wireless connections. The local interface292 may have additional elements, which are omitted for simplicity, suchas controllers, buffers (caches), drivers, repeaters, and receivers toenable communications. Further, the local interface 292 may includeaddress, control, and/or data connections to enable appropriatecommunications among the aforementioned components. The processor 282may be a hardware device for executing software, particularly softwarestored in the memory component 284.

The processor 282 can be any custom made or commercially availableprocessor, a central processing unit (CPU), an auxiliary processor amongseveral processors associated with the communications device 102, asemiconductor based microprocessor (in the form of a microchip or chipset), a macroprocessor, or generally any device for executinginstructions.

The memory component 284 can include any one or combination of volatilememory elements (e.g., random access memory (RAM, such as DRAM, SRAM,SDRAM, VRAM, etc.)) and nonvolatile memory elements (e.g., ROM, harddrive, tape. CD-ROM, etc.). Moreover, the memory component 284 mayincorporate electronic, magnetic, optical, and/or other types of storagemedia. Note that the memory component 284 can also have a distributedarchitecture, where various components are situated remotely from oneanother, but can be accessed by the processor 282.

The software in the memory component 284 may include one or moreseparate programs, each of which includes an ordered listing ofexecutable instructions for implementing logical functions. In theexample of FIG. 2, the software in the memory component 284 may includecommunications logic 288, as well as an operating system 286. Asillustrated, the communications logic 288 may include receiving logic290 configured to receive, at a first communications device, without aprior request to send (RTS) signal being sent, a first clear to send(CTS) signal from a second communications device, addressed to the firstcommunications device, the CTS signal indicating a data exchangeduration. Also included is sending logic 293 configured to send a secondCTS signal, from the first communications device, to the secondcommunications device. Other components may also be included.

Additionally, while the logic components 290, 291, and 293 are eachillustrated in this nonlimiting example as a single piece of logic,these components can include one or more separate software, hardware,and/or firmware modules. Similarly, one or more of these logicalcomponents can be combined to provide the desired functionality.Additionally, the operating system 286 may be configured to control theexecution of other computer programs and may be configured to providescheduling, input-output control, file and data management, memorymanagement, and communication control and related services.

A system component embodied as software may also be construed as asource program, executable program (object code), script, and/or anyother entity that includes a set of instructions to be performed. Whenconstructed as a source program, the program is translated via acompiler, assembler, interpreter, or the like, which may or may not beincluded within the volatile and nonvolatile memory 284, so as tooperate properly in connection with the operating system 286.

The input/output devices that may be coupled to system I/O Interface(s)296 may include input devices, for example but not limited to, akeyboard, mouse, scanner, microphone, camera, proximity device,receiver, etc. Further, the input/output devices may also include outputdevices, for example but not limited to, a printer, display,transmitter, etc. The input/output devices may further include devicesthat communicate both as inputs and outputs, for instance but notlimited to, a modulator/demodulator (modem for accessing another device,system, or network), a radio frequency (RF) or other transceiver, atelephonic interface, a bridge, a router, WIFI communications device,WiMAX communications device, bluetooth communications device, etc.Similarly, a network interface 298, which is coupled to local interface292, can be configured to communicate with a communications network,such as the network from FIG. 1. While this communication may befacilitated via the communications device 102, this is not arequirement.

More specifically, the network interfaces 298 may be configured forfacilitating communication with one or more other devices. The networkinterface 298 may include any component configured to facilitate aconnection with another device. While in some embodiments, among others,the client device 102 can include the network interface 298 thatincludes a Personal Computer Memory Card International Association(PCMCIA) card (also abbreviated as “PC card”) for receiving a wirelessnetwork card, this is a nonlimiting example. Other configurations caninclude the communications hardware within the client device 102, suchthat a wireless network card is unnecessary for communicatingwirelessly. Similarly, other embodiments include the network interfaces298 for communicating via a wired connection. Such interfaces may beconfigured with Universal Serial Bus (USB) interfaces, serial ports,and/or other interfaces. In operation, the wireless network interfaces298 may be configured to communicate with other client devices 102,access points 110, and other wireless devices via a wireless local areanetwork (WLAN) or other wireless network.

If the communications device 102 is a personal computer, workstation, orthe like, the software in the memory component 284 may further include abasic input output system (BIOS) (omitted for simplicity). The BIOS is aset of software routines that initialize and test hardware at startup,start the Operating System 286, and support the transfer of data amongthe hardware devices. The BIOS is stored in ROM so that the BIOS can beexecuted when the communications device 102 is activated.

When the communications device 102 is in operation, the processor 282can be configured to execute software stored within the memory component284, to communicate data to with the memory component 284, and togenerally control operations of the communications device 102 pursuantto the software. Software in memory 284, in whole or in part, may beread by the processor 282, perhaps buffered within the processor 282,and then executed. Additionally, one should note that while the abovedescription is directed to a communications device 102, other devicescan also include the components described in FIG. 2.

One should note that the access point 110 (which may also be seen as acommunications device) can be configured with one or more of thecomponents and/or logic described above with respect to thecommunications device 102. Additionally, the access point 110, thecommunications device 102, and/or other components of FIG. 1 can includeother components and/or logic for facilitating the operations describedherein. Additionally, depending on the particular configuration, theaccess point 110 may include both a wireless interface for communicatingto the client devices and a second interface for communicating with thenetwork. The access point 110 may be combined with other networkservices, (e.g., network address translation (NAT), dynamic host controlprotocol (DHCP), routing, firewall).

FIG. 3A depicts a flow diagram illustrating an exemplary embodiment of adata exchange between two communications devices, such as in the networkconfiguration of FIG. 1. As illustrated in the nonlimiting example ofFIG. 3A, the communications device 102 c may be configured to send aCTS-to-Self signal 302 to an access point 110. The CTS-to-Self message302 may be a CTS that is sent by a communications device 102 andaddressed to the communications device 102 that send the CTS. The CTSsignal 302 may be broadcast to and received by a plurality ofcommunications devices, including the access point 110. Upon receivingthe CTS-to-Self signal 302, the access point 110 can set a networkallocation vector (NAV) 304 that indicates a time for data exchange. TheNAV 304 may be set for a plurality of devices, however this is not arequirement.

Additionally, the communications device 102 c can send a request to send(RTS) signal 306 to the access point 110. However, because of the rulesof the IEEE 802.11 protocol, the access point 110 may be unable torespond.

One should note that, while the above listed exchange occurs between acommunications device 102 c and an access point 110, this is anonlimiting example. More specifically, the data exchanges disclosedherein may involve any of communications device (e.g., communicationsdevices 102, server 106, and/or access point 110).

FIG. 3B depicts a flow diagram illustrating an exemplary embodiment of acommunication of a clear to send (CTS) signal followed by a request tosend (RTS) signal, similar to the diagram from FIG. 3A. As illustratedin the nonlimiting example of FIG. 3B, the communications device 102 ccan transmit a CTS signal 308 (or other short frame that does notrequire a response), addressed to the communications device 102 a.Additionally, followed by the CTS signal 308, the communications device102 c can transmit an RTS signal 310 addressed to communications device102 a (“A”). The CTS signal 308 may be configured to set a non-resettingNAV with other communications devices (not shown) who may receive theCTS. The communications device 102 a may send a CTS signal 314 addressedto communications device 102 c, indicating that a transmission channelis clear to send data. The communications device 102 c can then send thedata 316. The data 316 can use a PHY header, which may not be backwardcompatible with nearby legacy devices, because the nearby legacy devicesset a NAV based on the receipt of the CTS 308 and/or CTS 314, which (inat least one exemplary embodiment) cannot be reset.

FIG. 3C depicts a flow diagram illustrating an exemplary embodiment of abroadcast CTS being received at a communications device, similar to thediagram from FIG. 3B. As illustrated in the nonlimiting example of FIG.3C, the access point 110 may send an unsolicited CTS signal 318,addressed to communications device 102 a. As discussed above, accordingto IEEE 802.11 protocol, a communications device that receives anunsolicited CTS cannot respond to the received signal. However, if achange in IEEE 802.11 protocol occurs (and/or if operating in annon-IEEE 802.11 environment), the communications device 102 a can send aCTS 233 addressed to the access point 110 in response to receipt of anunsolicited CTS addressed at the device 102 a. The access point 110 canthen transmit data 324 to the communications device 102 a. In thisexemplary frame exchange, the unsolicited CTS 318 replaces the RTS in anRTS/CTS exchange, so that a NAV can be set in the network, which doesnot reset according to the NAV reset rules of the IEEE 802.11 protocol.

FIG. 3D depicts a flow diagram illustrating an exemplary embodiment of aplurality of CTS signals being sent, in response to a received CTSsignal, similar to the diagram from FIG. 3C. As illustrated in thenonlimiting example of FIG. 3D, the communications device 102 c can sendan unsolicited CTS 326 to the access point 110. The access point 110 canthen send two CTS messages 330, 332 to the communications device 102 c.The first CTS message 330 may be transmitted at a first modulation(e.g., for short range transmission). Similarly, the second CTS message332 may be transmitted at a second modulation (e.g., for longer rangetransmission). The communications device 102 c can then send data 334 tothe access point 110. The second CTS response message 332 may have a PHYheader that (in at least one embodiment) cannot be decoded by legacystations, which will not reset a NAV at the legacy stations, because theNAV was set by a CTS.

FIG. 4 depicts a flowchart illustrating an exemplary embodiment of aprocess for sending a clear to send (CTS) signal followed by a requestto send (RTS) signal, similar to the diagram from FIG. 3B. Asillustrated in the nonlimiting example of FIG. 4, the communicationsdevice 102 a can send a CTS and an RTS to the communications device 102b (block 432). The communications device 102 b can then send a CTS tothe communications device 102 a (block 436). The communications device102 a can then send data to the communications device 102 b (block 438).

FIG. 5 depicts a flowchart illustrating an exemplary embodiment of aprocess for sending a broadcast CTS that is received at a communicationsdevice 102, similar to the diagram from FIG. 3C. As illustrated in thenonlimiting example of FIG. 5, the communications device 102 a can senda CTS to the communications device 102 b (block 532). The communicationsdevice 102 b can additionally send a CTS to the communications device102 a (block 536). The communications device 102 a can then send data tothe communications device 102 b (block 538).

FIG. 6 depicts a flowchart illustrating an exemplary embodiment of aprocess for sending a plurality of CTS signals, in response to areceived unsolicited CTS signal, similar to the diagram from FIG. 3D. Asillustrated in the nonlimiting example of FIG. 6, the communicationsdevice 102 a can send a CTS to the communications device 102 b (block632). The communications device 102 b can send a first CTS and a secondCTS to the communications device 102 a (block 636). The communicationsdevice 102 a can then send data to the communications device 102 b(block 638).

The embodiments disclosed herein can be implemented in hardware,software, firmware, or a combination thereof. At least one embodimentdisclosed herein may be implemented in software and/or firmware that isstored in a memory and that is executed by a suitable instructionexecution system. If implemented in hardware, one or more of theembodiments disclosed herein can be implemented with any or acombination of the following technologies: a discrete logic circuit(s)having logic gates for implementing logic functions upon data signals,an application specific integrated circuit (ASIC) having appropriatecombinational logic gates, a programmable gate array(s) (PGA), afieldprogrammable gate array (FPGA), etc.

One should note that the flowcharts included herein show thearchitecture, functionality, and operation of a possible implementationof software. In this regard, each block can be interpreted to representa module, segment, or portion of code, which comprises one or moreexecutable instructions for implementing the specified logicalfunction(s). It should also be noted that in some alternativeimplementations, the functions noted in the blocks may occur out of theorder and/or not at all. For example, two blocks shown in succession mayin fact be executed substantially concurrently or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved.

One should note that any of the programs listed herein, which caninclude an ordered listing of executable instructions for implementinglogical functions, can be embodied in any computer-readable medium foruse by or in connection with an instruction execution system, apparatus,or device, such as a computer-based system, processor-containing system,or other system that can fetch the instructions from the instructionexecution system, apparatus, or device and execute the instructions. Inthe context of this document, a “computer-readable medium” can be anymeans that can contain, store, communicate, or transport the program foruse by or in connection with the instruction execution system,apparatus, or device. The computer readable medium can be, for examplebut not limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, or device. More specificexamples (a nonexhaustive list) of the computer-readable medium couldinclude an electrical connection (electronic) having one or more wires,a portable computer diskette (magnetic), a random access memory (RAM)(electronic), a read-only memory (ROM) (electronic), an erasableprogrammable read-only memory (EPROM or Flash memory) (electronic), anoptical fiber (optical), and a portable compact disc read-only memory(CDROM) (optical). In addition, the scope of the certain embodiments ofthis disclosure can include embodying the functionality described inlogic embodied in hardware or software-configured mediums.

One should also note that conditional language, such as, among others,“can,” “could,” “might,” or “may,” unless specifically stated otherwise,or otherwise understood within the context as used, is generallyintended to convey that certain embodiments include, while otherembodiments do not include, certain features, elements and/or steps.Thus, such conditional language is not generally intended to imply thatfeatures, elements and/or steps are in any way required for one or moreparticular embodiments or that one or more particular embodimentsnecessarily include logic for deciding, with or without user input orprompting, whether these features, elements and/or steps are included orare to be performed in any particular embodiment.

It should be emphasized that the above-described embodiments are merelypossible examples of implementations. merely set forth for a clearunderstanding of the principles of this disclosure. Many variations andmodifications may be made to the above-described embodiment(s) withoutdeparting substantially from the spirit and principles of thedisclosure. All such modifications and variations are intended to beincluded herein within the scope of this disclosure.

1-22. (canceled)
 21. A method, comprising: receiving, at a firstcommunications device, without a prior request to send (RTS) signalbeing sent, a first clear to send (CTS) signal from a secondcommunications device, the first CTS signal indicating a data exchangeduration, wherein a non-resetting network allocation vector (NAV) is setby at the first communications device that overrides a resetting NAV atthe first communications device; and receiving, at the firstcommunications device, a request to send (RTS) signal that directlyfollows the first CTS signal and that is addressed to the secondcommunications device, the RTS signal indicating a data exchangeduration that does not exceed the data exchange duration of the firstCTS signal.
 22. The method of claim 21, further comprising sending, fromthe first communications device, a second CTS signal.
 23. The method ofclaim 22, wherein the RTS signal is addressed to the firstcommunications device, the RTS signal indicating a data exchangeduration that does not exceed the data exchange duration of the firstCTS signal.
 24. The method of claim 21, further comprising sending, bythe first communications device payload data to the secondcommunications device.
 25. The method of claim 21, wherein thenon-resetting NAV has a longer associated duration than an associatedduration of the resetting NAV.
 26. The method of claim 25, wherein thefirst CTS is configured at a first modulation and the second CTS isconfigured at a second modulation.
 27. The method of claim 21, whereinthe non-resetting NAV is configured to be non-resetting at a pluralityof other communications devices.
 28. A computer readable medium,comprising: first receiving logic configured to receive, at a firstcommunications device, without a prior request to send (RTS) signalbeing sent, a first clear to send (CTS) signal from a secondcommunications device, the CTS signal indicating a data exchangeduration, the first receiving logic configured to set a resettingnetwork allocation vector (NAV) to be non-resetting; second receivinglogic configured to receive, at the first communications device, arequest to send (RTS) signal that directly follows the first CTS fromthe second communications device, the RTS directly following the firstCTS signal is addressed to the first communications device, the RTSindicating a data exchange duration that does not exceed the dataexchange duration of the first CTS.
 29. The computer readable medium ofclaim 28, further comprising second receiving logic configured toreceive, at the first communications device, a request to send (RTS)signal that directly follows the first CTS signal.
 30. The computerreadable medium of claim 29, wherein the RTS is addressed at the firstcommunications device, the RTS indicating a data exchange duration thatdoes not exceed the data exchange duration of the CTS.
 31. The computerreadable medium of claim 28, further comprising third receiving logicconfigured to receive, by the first communications device payload datafrom the second communications device.
 32. The computer readable mediumof claim 28, further comprising second sending logic configured to senda third CTS signal from the first communications device to the secondcommunications device, the third CTS signal being sent directly afterthe second CTS signal.
 33. The computer readable medium of claim 32,wherein the second CTS is configured at a first modulation and the thirdCTS is configured at a second modulation.
 34. The computer readablemedium of claim 28, wherein the first receiving logic sets the resettingNAV to be non-resetting if the data exchange duration is longer than adefault data exchange duration of the resetting NAV.
 35. A system,comprising: means for receiving, at a first communications device,without a prior request to send (RTS) signal being sent, a first clearto send (CTS) signal from a second communications device, addressed tothe first communications device, the CTS signal indicating a dataexchange duration: and means for sending a second CTS signal, from thefirst communications device, to the second communications device,wherein a network allocation vector (NAV) at the first communicationsdevice is set to non-resetting prior to receiving a RTS signal.
 36. Thesystem of claim 35, further comprising means for receiving, at the firstcommunications device, a request to send (RTS) signal that directlyfollows the first CTS signal.
 37. The system of claim 36, wherein theRTS is addressed to the first communications device, the RTS indicatinga data exchange duration that does not exceed the data exchange durationof the CTS.
 38. The system of claim 35, further comprising means forreceiving, by the first communications device payload data from thesecond communications device.
 39. The system of claim 35, furthercomprising means for sending a third CTS signal from the firstcommunications device to the second communications device, the third CTSsignal being sent directly after the second CTS signal.
 40. The systemof claim 39, wherein the second CTS is configured at a first modulationand the third CTS is configured at a second modulation.